<?php
	session_start();

	//imagecreatetruecolor() 返回一个图像标识符，代表了一幅大小为 x_size 和 y_size 的黑色图像。
	$image = imagecreatetruecolor(100,30);

	//imagecolorallocate() 返回一个标识符，代表了由给定的 RGB 成分组成的颜色。 red ， green 和 blue 分别是所需要的颜色的红，绿，蓝成分。这些参数是 0 到 255 的整数或者十六进制的 0x00 到 0xFF。 imagecolorallocate() 必须被调用以创建每一种用在 image 所代表的图像中的颜色。
	$bgcolor = imagecolorallocate($image, 255, 255, 255);

	//imagefill() 在 image 图像的坐标 x ， y （图像左上角为 0, 0）处用 color 颜色执行区域填充（即与 x, y 点颜色相同且相邻的点都会被填充）。
	imagefill($image,0,0,$bgcolor);


//生成随机的数字
/*for($i = 0;$i < 4;$i++){
	$fontsize = 6;
	$fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
	$fontcontent = rand(0,9);

	$x = ($i*100/4)+rand(5,10);
	$y = rand(5,10);
	//imagestring() 用 col 颜色将字符串 s 画到 image 所代表的图像的 x ， y 坐标处（这是字符串左上角坐标，整幅图像的左上角为 0，0）。如果 font 是 1，2，3，4 或 5，则使用内置字体。


	imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}*/

	$captch_code='';


//生成随机的字母和数字
for($i = 0;$i < 4;$i++){
	$fontsize = 6;
	$fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));
	//建立一个字典
	$data = trim('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789');
	$fontcontent = substr($data,rand(0,strlen($data)-1),1);
	$captch_code.=$fontcontent;

	$x = ($i*100/4)+rand(5,10);
	$y = rand(5,10);
	imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
	$_SESSION['authcode'] = $captch_code;
//生成随机的点
	for($i = 0;$i < 300;$i++){
		$pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200));
		//imagesetpixel() 在 image 图像中用 color 颜色在 x ， y 坐标（图像左上角为 0，0）上画一个点。


		imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);
	}



//生成随机的线
	for($i = 0;$i < 3;$i++){
		$linecolor = imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));
		//imageline() 用 color 颜色在图像 image 中从坐标 x1 ， y1 到 x2 ， y2 （图像左上角为 0, 0）画一条线段。


		imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);
	}



	header('Content-type:image/png');
	imagepng($image);

	imagedestroy($image);


?>